Interconnecting Smart Objects with IP: The Next Internet by Vasseur Jean-Philippe & Dunkels Adam
Author:Vasseur, Jean-Philippe & Dunkels, Adam [Vasseur, Jean-Philippe]
Language: eng
Format: mobi
Publisher: Morgan Kaufmann
Published: 2010-05-31T16:00:00+00:00
Figure 15.4 Routing header subtype 2.
15.2.5 The Fragment Header
In contrast with IPv4, the routers along the data path never perform any form of fragmentation. IPv6 mandates that each link must be able to carry 1280-byte packets, which is not always the case in LLN. In particular, the MTU of IEEE 802.15.4 links is equal to 127 bytes. In this case, it is required to handle packet fragmentation and reassembly at the link layer. This is specified in [176] and [124] as a result of a work item from the 6LoWPAN Working Group. These mechanisms are described in Chapter 16.
This implies that IPv6 should support mechanisms to discover the minimum MTU supported on each link along the path to the destination. This is performed using a procedure called path maximum transmission discovery (PMTU) defined in [171]. It uses a sequence of ICMP packets along the path until it discovers the minimum MTU along the path. This value is then cached on the host in a table on a per-destination basis and must be rediscovered on a regular basis since IP paths may change due to rerouting from network element failures. An implementation not supporting PMTU may simply decide to send packets no larger than 1280 octets.
An IPv6 source node fragments a packet each time its size is larger than the minimum MTU along the path to the destination.
The format of the fragment header is shown in Figure 15.5. The fragment header is identified by the value 44 present in the next header field of the previous header (which could either be the IPv6 fixed header or the routing header, if present). The next header value is identical to the original next header type of the fragmented packet. The fragment offset simply indicates the offset of the fragment (in 8-octet units) relative to the start of the fragmentable part of the original packet. The identification field is a 32-bit encoded value chosen by the source node to identify the fragmented packet that will be reassembled by the destination node. Each time a source node fragments a packet it uses a different identification number for each fragmented packet destined to a specific node. The source is expected to use an identification number different from any already sent packet for the expected lifetime of a packet. A simple wraparound counter considering the 32-bit encoding scheme for the identification number is assumed to be perfectly reasonable. The 2-bit “reserved” field is set to 0 and the M-bit is used to indicate whether the fragment is the last one (1: more fragment, 0: last fragment).
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Deep Learning with Python by François Chollet(16110)
The Mikado Method by Ola Ellnestam Daniel Brolund(13389)
Hello! Python by Anthony Briggs(13193)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(12353)
Dependency Injection in .NET by Mark Seemann(12210)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(10968)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(10816)
A Developer's Guide to Building Resilient Cloud Applications with Azure by Hamida Rebai Trabelsi(10540)
Grails in Action by Glen Smith Peter Ledbrook(10277)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(10214)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(9558)
Hit Refresh by Satya Nadella(9040)
Kotlin in Action by Dmitry Jemerov(8946)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(8686)
The Kubernetes Operator Framework Book by Michael Dame(8488)
Exploring Deepfakes by Bryan Lyon and Matt Tora(8308)
Robo-Advisor with Python by Aki Ranin(8261)
Practical Computer Architecture with Python and ARM by Alan Clements(8234)
Implementing Enterprise Observability for Success by Manisha Agrawal and Karun Krishnannair(8203)